QT QTreeWidget、QTableWidget、QTreeView等 自定义列宽 | 您所在的位置:网站首页 › qtreewidget 设置字体 › QT QTreeWidget、QTableWidget、QTreeView等 自定义列宽 |
自定义这些类的列宽是通过设置header来实现的,几年前胡乱捣鼓实现过,最近又忘了,昨天搜索了一阵子,没找到方法,今天早上一搜到下面的帖子,为了再次出现浪费时间的情况,故本次特地记录一下,加深印象的同时,也希望能帮到有同样需求的同鞋~ 下面两个参考,摘自:http://www.qtcn.org/bbs/read-htm-tid-34881.html,供参考 //参考① header()->hide(); m_pHeaderView->setClickable(true); //能够发射sectionClicked(int)信号,可做菜单,显示隐藏列:setSectionHidden(int, bool);isSectionHidden(int); m_pHeaderView->setMovable(true); m_pHeaderView->setResizeMode(0, QHeaderView::Fixed); //固定列宽 m_pHeaderView->setDefaultSectionSize(100); //默认 //参考② 注意:StretchLastSection 为true时,对最后一列的设置会失效。setSectionResizeMode也还有一个重载函数可以对所有列设置。 m_guiTreeWidget->header()->setStretchLastSection(false); m_guiTreeWidget->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents); m_guiTreeWidget->header()->setSectionResizeMode(1, QHeaderView::Stretch); m_guiTreeWidget->header()->setSectionResizeMode(2, QHeaderView::Fixed); m_guiTreeWidget->setColumnWidth(2, 50);
我自己的代码是,类似于②, ui.treeWidget->header()->setStretchLastSection(false); ui.treeWidget->header()->setSectionResizeMode(0, QHeaderView::Fixed); ui.treeWidget->header()->setSectionResizeMode(1, QHeaderView::Stretch); ui.treeWidget->header()->setSectionResizeMode(3, QHeaderView::Fixed); //ui.treeWidget->header()->setSectionResizeMode(QHeaderView::Stretch); ui.treeWidget->setColumnWidth(0, 300); ui.treeWidget->setColumnWidth(2, 50); ui.treeWidget->hideColumn(2); ui.treeWidget->setColumnWidth(3, 300); |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |